1. Technical Field
The present disclosure relates generally to graphical user interfaces for computer aided design (CAD) and collaboration, and more particularly, to methods for indicating annotations associated with a display view of a three-dimensional model independent of any display view.
2. Related Art
Most conventional engineering, architectural, and other design work is performed with computer aided design (CAD) systems. The availability of computing resources that can meet its demands have led to widespread adoption across a range of diverse industries, as almost every person involved in the workflow process can be provided individual access to sufficient computing power, display, and input capabilities to run CAD applications. Furthermore, numerous CAD software packages are available for varying industry-specific needs and at varying price points. Using such CAD systems, it is possible for engineers, architects, and designers to three-dimensionally model components, assemblies, structures, and so forth. The computerized models can be the basis of future design refinements, and can be used for manufacturing operations. Communication with non-technical personnel within the enterprise such as management and marketing can also be more effective with the use of simplified and easy to understand renderings of the models. Along these lines, within the engineering or design cycle, the computerized models are typically exchanged amongst various personnel collaborating to review and/or edit the same.
Typically, the software applications generate data files or documents that are specific thereto. For instance, the three-dimensional model created in a CAD software application may be saved to a file format that may be proprietary and can only be opened or edited thereby, whether it is the same instance on the same computer, or a different instance on a separate computer. Thus, in order to edit the model, it is necessary for all participating users to have the same CAD software application. With some exceptions, opening the file to view the model may also require the use of the same CAD software application. In recognition of the fact that personnel who have a need to view the file do not necessarily need to edit the file, some developers have produced companion reader-only applications usually made available free-of-charge. Nevertheless, this requires the inconvenient download and installation of a separate software application, and several different ones may be necessary to open each proprietary CAD format.
As a general matter, the existence of many different computing platforms with a wide variety of operating systems, software applications, and processing and graphic display capabilities led to an increasing need for a device-independent, resolution-independent file format to facilitate information exchange. In response to this need, the Portable Document Format (PDF), amongst other competing formats, has been developed. The PDF standard is a combination of a number of technologies, including a simplified PostScript interpreter subsystem, a font embedding subsystem, and a storage subsystem. As those in the art will recognize, PostScript is a page description language for generating the layout, text and the graphics of a document. Further, per the requirements of the PDF storage subsystem, all such elements of the document are encapsulated into a single file.
The document elements are not encoded to a specific operating system, software application, or hardware, but are designed to be rendered in the same manner regardless of the specificities relating to the system writing or reading such data. The cross-platform capability of PDF aided in its widespread adoption, and is now a de facto document exchange standard. Although originally proprietary, PDF has been released as an open standard published by the International Organization for Standardization (ISO) as ISO/IEC 3200-1:2008. Due to its versatility and universality, files in the PDF format are often preferred over more particularized file formats of specific applications.
Beyond text and basic vector and raster graphics, navigable or interactive three-dimensional graphics may also be incorporated into PDF documents. Referred to generally as 3D PDF, the extensibility of the PDF format is leveraged to enable the embedding of three-dimensional model data formatted according to an open industry standard. One such standard is Universal 3D (U3D), while another is Product Representation Compact (PRC). Each separate PDF reader application may implement the rendering of the three-dimensional model data, but like the PDF format, it is understood to be platform and application independent, and will be rendered identically across all supported reader applications.
From the user interface perspective, PDF documents are typically static in which individual elements thereof are not editable. In the context of the aforementioned three-dimensional models, it is possible to manipulate the view angle thereof, but this is no different than scrolling from top to bottom or left to right in a two-dimensional document, and modifications to the model itself are not possible. However, one of several improvements that have been made since the initial releases of PDF readers, writers, and the standard itself, is the support for adding annotations to a base document. Such annotations are graphically overlaid or “placed” on the underlying document, with placement being precisely controlled by the user. Thus, the functionality is similar to graphic illustration/design and image manipulation applications where various objects can be positioned on a document canvas by navigating a cursor to a desired location and providing a subsequent input to make placement permanent. Before positioning the cursor, the object to be placed, such as a geometric primitive, a text box, or the like, is selected. This improved functionality permitted the rapid discussion of comments and suggested revisions within the working group as marked up versions of the document was exchanged.
While the implementation of the annotation feature in relation to two-dimensional documents is a relatively straightforward proposition because the placement of graphical content on different layers is already implemented in the base PDF rendering, there are a number of challenges associated with transferring that feature to three-dimensional models. A potential issue is the manner in which the two-dimensional text and graphic primitives are placed and rendered in a three-dimensional environment; x and y axis positioning and parameter data thereof is available, but corresponding z axis data is undefined. As a further effect, annotations may appear visibly skewed or otherwise unintelligible unless the view is further manipulated, and may result in annotations being placed at unintended locations.
One possible resolution involves the use of a real-time collaboration environment, in which the two dimensional views as displayed on a primary computer is synchronized with the views as displayed on one or more secondary computers. The switching of camera views is thus keyed to specific annotations, and such an approach is disclosed in U.S. Pat. No. 7,151,551 to Mandavilli et al. The specific camera views and the annotations placed thereon may be recorded for subsequent display. However, it is necessary for the reviewer to navigate to a particular camera view before the pertinent annotations are shown. Alternatively, an interactive listing of annotations may be generated, through which the reviewer can select specific annotations for display, though this is understood to be a cumbersome process.
Accordingly, there is a need in the art for improved methods for the annotation of three-dimensional models, and indicating annotations associated with a display view of a three-dimensional model independent of any display view.